﻿<?xml version="1.0" encoding="utf-8" ?>
<board name="Mainboard" >
  <using namespace="System.Collections.Generic" />
  <using namespace="ebcpatterns.flow" />
  <using namespace="data.contracts" />
  <using namespace="data.contracts.messages" />
  <using namespace="contracts.projects" />
  <using namespace="contracts.model" />
  <using namespace="contracts.generation" />

  <external name="IGetEbcXmlFilenames" />
  <external name="IGetGeneratedEbcCsFilename" />
  <external name="IDefaultNamespace" />
  <external name="ModelBuilder" />
  <external name="IGenerator" />
  <external name="IFileAdapter" />

  <wire from="this.Run" type="string" to="getEbcXmlFilenames" />
  <wire from="this.Run" type="string" to="defaultNamespace" />
  <wire from="this.Run" type="string" to="getGeneratedEbcCsFilename" />

  <wire from="getEbcXmlFilenames; defaultNamespace" type="(string*; string) : BuildBoardsMessage" to="(modelbuilder.ModelBuilder) modelBuilder" />
  <wire from="(modelbuilder.ModelBuilder) modelBuilder" type="Board*" to="generator" />

  <wire from="getGeneratedEbcCsFilename" type="string" to="(IJoin{string,string,SaveMessage}) join2.Input1" />
  <wire from="generator" type="string" to="(IJoin{string,string,SaveMessage}) join2.Input2" />

  <wire from="(IJoin{string,string,SaveMessage}) join2.Output" type="SaveMessage" to="fileAdapter" />
</board>
